wm withdraw .; wm withdraw .output; wm geom .konsola 730x478+100+100; kons_font 13 ## tclhttpd - stary serwer www tcl-a - eksperymenty # source /root/tcl/111/file_vfs_84.tcl; # naprawa file w tclkit 8.4 package re vfs::zip vfs::zip::Mount /root/tcl/222/kitten.zip ./kitten # ^ to jest potrzebne jesli uzywamy kitten.zip ! lappend auto_path /root/tcl/tcllib # ^ to musi byc prawdziwa sciezka do tcllib set argv_old $argv set argv "-port 10000" # ^ nr portu http source ./kitten/tclhttpd3.5.1/bin/httpd_app.tcl rename bgerror {} set argv $argv_old # !!! do tego miejsca wykonac !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #% httpd01.tcl #Doc_AddRoot /filmy /root/000/filmy # ... # direct url, czyli procedura zwracajaca tresc do przegladarki # Direct_Url /www #Direct_UrlRemove /www proc /www/strona1 args { return "

args= $args

a ku ku na strona1

" } # ... # domain handler, czyli obsluga calej domeny # Url_PrefixInstall /eee eee_obsluga #Url_PrefixRemove /eee proc eee_obsluga {sock sufix} { upvar #0 Httpd$sock data append html "[clock format [clock seconds]], sufix: $sufix
\n" if {[info exist data(query)]} { append html "query1: $data(query)
\n" append html "query2: [Url_DecodeQuery $data(query)]
\n" } if {[info exist data(line)]} { append html "line: $data(line)
\n" } #append html "array names data: [array names data]
\n" #append html "array get data: [array get data]
\n" Httpd_ReturnData $sock text/html $html } # ... # klient http, test # + konsola odwoluje sie "do samego siebie" ;-); # package re http #% 2.4.5 set h [http::geturl http://localhost:10000/eee/strona123/qqq/www/?x=123&y=321] set r [http::data $h] http::cleanup $h set r #% wto mar 28 21:09:35 CEST 2017, sufix: /strona123/qqq/www/
query1: x=123&y=321
query2: x 123 y 321
line: GET /eee/strona123/qqq/www/?x=123&y=321 HTTP/1.0
set h [http::geturl http://localhost:10000/eee/strona123/qqq/www/ -query x=111&y=222] set r [http::data $h] http::cleanup $h set r #% wto mar 28 21:09:42 CEST 2017, sufix: /strona123/qqq/www/
query1: x=111&y=222
query2: x 111 y 222
line: POST /eee/strona123/qqq/www/ HTTP/1.0
# ... exit